<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ProfessorDAO
 *
 * @author HP
 */
class VoluntarioDAO{
    
    public $voluntarios;
    public $message;
    public $con;
    
    
    public function __construct($con) {
       $this->con = $con;
    }   
    public function __set($name, $value) {
        $this->$name = $value ;
    }
    public function __get($name) {
        return $this->$name;
    }
      
   
    //antes de adicionar consultar se os intesn ja existem
    public function adicionarVolutario($objVolutario){
        
       $this->consultarVoluntarioPorCpf($objVolutario->cpf);
  
        
       if(count($this->voluntarios) ==0){
           
            $sql = "INSERT INTO voluntario
                    (id,
                    cpf,
                    nome,
                    endereco,
                    cep,
                    numeroPessoasResidencia,
                    dataNascimento,
                    rg,
                    rgOrgaoExpeditor,
                    formacaoEducacional,
                    curso,
                    rendaFamilar,
                    nomeMae,
                    telefoneResidencial,
                    telefoneCelular,
                    email,
                    ultimaExperianciaProfissional,
                    experienciaPeriodoInicio,
                    experienciaPeriodoFinal,
                    atividadesDesenvolvidas,
                    contato,
                    atividadeVoluntarioaArea,
                    atividadeVoluntarioaCargo,
                    motivoRPV,
                    expectativas,
                    descExperianciaVoluntariaAnterior)
                    VALUES
                    (:id,
                    :cpf,
                    :nome,
                    :endereco,
                    :cep,
                    :numeroPessoasResidencia,
                    :dataNascimento,
                    :rg,
                    :rgOrgaoExpeditor,
                    :formacaoEducacional,
                    :curso,
                    :rendaFamilar,
                    :nomeMae,
                    :telefoneResidencial,
                    :telefoneCelular,
                    :email,
                    :ultimaExperianciaProfissional,
                    :experienciaPeriodoInicio,
                    :experienciaPeriodoFinal,
                    :atividadesDesenvolvidas,
                    :contato,
                    :atividadeVoluntarioaArea,
                    :atividadeVoluntarioaCargo,
                    :motivoRPV,
                    :expectativas,
                    :descExperianciaVoluntariaAnterior)";
            
            $stmt = $this->con->prepare($sql);
            
            $stmt->bindValue(':id', utf8_decode($objVolutario->id));
            $stmt->bindValue(':cpf', utf8_decode($objVolutario->cpf));
            $stmt->bindValue(':nome', utf8_decode($objVolutario->nome));
            $stmt->bindValue(':endereco', utf8_decode($objVolutario->endereco));
            $stmt->bindValue(':cep', utf8_decode($objVolutario->cep));
            $stmt->bindValue(':numeroPessoasResidencia', utf8_decode($objVolutario->numeroPessoasResidencia));
            $stmt->bindValue(':dataNascimento', utf8_decode($objVolutario->dataNascimento));
            $stmt->bindValue(':rg', utf8_decode($objVolutario->rg));
            $stmt->bindValue(':rgOrgaoExpeditor', utf8_decode($objVolutario->rgOrgaoExpeditor));
            $stmt->bindValue(':formacaoEducacional', utf8_decode($objVolutario->formacaoEducacional));
            $stmt->bindValue(':curso', utf8_decode($objVolutario->curso));
            $stmt->bindValue(':rendaFamilar', utf8_decode($objVolutario->rendaFamilar));
            $stmt->bindValue(':nomeMae', utf8_decode($objVolutario->nomeMae));
            $stmt->bindValue(':telefoneResidencial', utf8_decode($objVolutario->telefoneResidencial));
            $stmt->bindValue(':telefoneCelular', utf8_decode($objVolutario->telefoneCelular));
            $stmt->bindValue(':email', utf8_decode($objVolutario->email));
            $stmt->bindValue(':ultimaExperianciaProfissional', utf8_decode($objVolutario->ultimaExperianciaProfissional));
            $stmt->bindValue(':experienciaPeriodoInicio', utf8_decode($objVolutario->experienciaPeriodoInicio));
            $stmt->bindValue(':experienciaPeriodoFinal', utf8_decode($objVolutario->experienciaPeriodoFinal));
            $stmt->bindValue(':atividadesDesenvolvidas', utf8_decode($objVolutario->atividadesDesenvolvidas));
            $stmt->bindValue(':contato', utf8_decode($objVolutario->contato));
            $stmt->bindValue(':atividadeVoluntarioaArea', utf8_decode($objVolutario->atividadeVoluntarioaArea));
            $stmt->bindValue(':atividadeVoluntarioaCargo', utf8_decode($objVolutario->atividadeVoluntarioaCargo));
            $stmt->bindValue(':motivoRPV', utf8_decode($objVolutario->motivoRPV));
            $stmt->bindValue(':expectativas', utf8_decode($objVolutario->expectativas));
            $stmt->bindValue(':descExperianciaVoluntariaAnterior', utf8_decode($objVolutario->descExperianciaVoluntariaAnterior));
            
            
            $stmt->execute();

            
            if($stmt->rowCount()>0){
                $this->message = "Voluntario inserido com sucesso.";
            }
       }else{
               $this->message = "Voluntario já cadastrado(a).";
       }
    }   
    
    //deleta item
    public function deletarVoluntario($cpf){       
       
        $sql = "DELETE FROM voluntario WHERE cpf =:cpf" ;
        $stmt = $this->con->prepare($sql);
        
        $stmt->bindValue(':cpf', $cpf);
        $stmt->execute();
        
        if($stmt->rowCount()>0){            
            $this->message = "Voluntario excluido com sucesso.";
        }else{
            $this->message = "Voluntario não foram encontrados ou não podem ser excluido."; 
        }
        
    }
   
    //consultar item
    public function consultarVoluntarioPorCpf($cpf){
        
        //selsciona todos os itens da tabela ou um especifico
        $this->voluntarios = Array();
        $sql = "SELECT * FROM voluntario WHERE cpf = ".$cpf;
        $resultado = $this->con->query($sql);
        if(($resultado) != FALSE){
            foreach ($resultado as $value) {
                if($value['cpf'] ==  $cpf){
                    $voluntario = new Voluntario($value['id'],
                            $value['cpf'],
                            $value['nome'],
                            $value['endereco'],
                            $value['cep'],
                            $value['numeroPessoasResidencia'],
                            $value['dataNascimento'],
                            $value['rg'], 
                            $value['rgOrgaoExpeditor'], 
                            $value['formacaoEducacional'],
                            $value['curso'],
                            $value['rendaFamilar'], 
                            $value['nomeMae'], 
                            $value['telefoneResidencial'], 
                            $value['telefoneCelular'], 
                            $value['email'], 
                            $value['ultimaExperianciaProfissional'], 
                            $value['experienciaPeriodoInicio'], 
                            $value['experienciaPeriodoFinal'], 
                            $value['atividadesDesenvolvidas'], 
                            $value['contato'], 
                            $value['atividadeVoluntarioaArea'], 
                            $value['atividadeVoluntarioaCargo'], 
                            $value['motivoRPV'], 
                            $value['expectativas'], 
                            $value['descExperianciaVoluntariaAnterior']);
                    

                    array_push($this->voluntarios, $voluntario);              
                }
            } 
            $this->message = "Foi encontrado um ou mais voluntario(s)."; 
        }else{
            $this->message = "A consulta não encontrou volutario"; 
        }
        //carrega array de nome e descrição 
      
    }
        
    public function consultarTodosVoluntarios(){
        
        $this->voluntarios = Array();
        
        $sql = "SELECT * FROM voluntario";
        $resultado = $this->con->query($sql);
        
        if($resultado->rowCount()>0){
            foreach ($resultado as $value) {
                
                   $voluntario = new voluntario($value['id'],
                            $value['cpf'],
                            $value['nome'],
                            $value['endereco'],
                            $value['cep'],
                            $value['numeroPessoasResidencia'],
                            $value['dataNascimento'],
                            $value['rg'], 
                            $value['rgOrgaoExpeditor'], 
                            $value['formacaoEducaional'],
                            $value['curso'],
                            $value['rendaFamilar'], 
                            $value['nomeMae'], 
                            $value['telefoneResidencial'], 
                            $value['telefoneCelular'], 
                            $value['email'], 
                            $value['ultimaExperianciaProfissional'], 
                            $value['experienciaPeriodoInicio'], 
                            $value['experienciaPeriodoFinal'], 
                            $value['atividadesDessenvolvidas'], 
                            $value['contato'], 
                            $value['atividadeVoluntarioaArea'], 
                            $value['atividadeVoluntarioaCargo'],
                            $value['motivoRPV'], 
                            $value['expectativas'], 
                            $value['descExperianciaVoluntariaAnterior']);

                    array_push($this->voluntarios, $voluntario);  
                    
            }      
    }
}

    
    public function NumeroVoluuntarios(){
    $sql = "select COUNT(cpf) FROM voluntario";
    $resultado = $this->con->query($sql);

            foreach ($resultado as $value) {
                //verifica produto idependente de maiusculas e minusculas
                $temp = $value['COUNT(cpf)'];
            }
       return $temp;

    }
 
    
    //seleciona todos os albuns retirando repeticoes        
    public function consultarNomeTodoVoluntarios(){
        
        $this->voluntarios = Array();
        
        $sql = "SELECT nome FROM voluntario ";
        
        $resultado = $this->con->query($sql);
        
        if($resultado->rowCount()>0){
            
            foreach ($resultado as $value) {
                    $voluntario = $value['nome'];
                    array_push($this->voluntarios, $voluntario); 
            }      
    }
    


}

    public function getMaximoId(){
    $sql = "select MAX(id) FROM voluntario";
    $resultado = $this->con->query($sql);

            foreach ($resultado as $value) {
                //verifica produto idependente de maiusculas e minusculas
                $temp = $value['MAX(id)'];
            }
       return $temp;

    }


}
?>
